Skip Headers

Oracle® Transparent Gateway for DRDA Installation and User's Guide 10g Release 2 (10.2) for UNIX Part Number B16217-02 |
Home | Book List | Contents | Index | Master Index | Feedback

Previous | Next
| View PDF

# 5 Configuring the DRDA Server

The steps for configuring your remote DRDA Server cover the following DRDA Servers:

- DB2/OS390

- DB2/400

- DB2/UDB (Universal Database)

- DB2/VM

Configuring a DRDA database to enable access by the gateway requires actions on the DRDA database and on certain components of the host operating system. Although no Oracle software is installed on the host system, access to (and some knowledge of) the host system and DRDA database are required during the configuration. Refer to the vendor documentation for complete information about your host system and DRDA database.

## Checklists for Configuring the DRDA Server

This section provides the checklists for configuring the DRDA Server.

DB2/OS390

- Step 1: Configure the Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the recovery user ID

- Step 4: Determine DRDA location name for DB2 instance

- Step 5: Configure DB2 Distributed Data Facility for Gateway

DB2/400

- Step 1: Configure the Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the recovery user ID

- Step 4: Determine DRDA location name for DB2/400 instance

DB2/UDB (Universal Database)

- Step 1: Configure the SNA Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the recovery user ID

- Step 4: Determine DRDA location name for DB2/UDB instance

DB2/VM

- Step 1: Configure the Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the Recovery user ID

- Step 4: Determine DRDA location name for DB2/VM Instance

## DB2/OS390

Experience with OS/390 (MVS), TSO, VTAM, and DB2 is required to perform the following steps:

Step 1: Configure the Communications Server

If you are using SNA, then configure OS/390 (MVS) VTAM for the SNA LU6.2 connection from the host. Configure DB2s DDF for SNA using the LU defined. If you are using TCP/IP, then configure the TCP/IP subsystem, configure DB2s DDF to use TCP/IP, and assign a primary and recovery port number for the DB2 server.

Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password that are used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the `CREATE DATABASE LINK` command) must have proper authority on the DRDA Server to create the package. This user ID should be used to create and own the `ORACLE2PC` (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have one or more of the following privileges on the DRDA Server:

- Package privileges of `BIND`, `COPY`, and `EXECUTE`, for example:

      GRANT BIND    ON PACKAGE drda1.* TO userid
      GRANT COPY    ON PACKAGE drda1.* TO userid
      GRANT EXECUTE ON PACKAGE drda1.* TO PUBLIC

- Collection privilege of `CREATE` `IN`, for example:

      GRANT CREATE IN ON PACKAGE drda1 TO USER userid

- System privileges of `BINDADD` and `BINDAGENT`, for example:

      GRANT BINDADD   TO USER userid
      GRANT BINDAGENT TO USER userid

- Database privilege of `CREATETAB`, for example:

      GRANT CREATETAB ON DATABASE database TO USER userid

Choose a user ID that will own the package and the `ORACLE2PC` table. Ensure that this user ID is defined to both DB2 and OS/390 (MVS).

Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the `DRDA_RECOVERY_USERID` and `DRDA_RECOVERY_PASSWORD` parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password defined in these parameters. This user ID must have execute privileges on the package and must be defined in the DRDA database. If the user ID is not specified in `DRDA_RECOVER_USERID`, then the gateway attempts to connect to a user ID of `ORARECOV` when a distributed transaction is in doubt.

Determine the user ID and password you will use for recovery.

Step 4: Determine DRDA location name for DB2 instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the following SQL query from a DB2 SPUFI session:

    SELECT CURRENT SERVER FROM any_table

where `any_table` is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact the system administrator to arrange to set a location name for the instance.

Step 5: Configure DB2 Distributed Data Facility for Gateway

DB2 Distributed Data Facility (DDF) is the component of DB2 that manages all distributed database operations, both DRDA and non-DRDA.

If your site uses DB2 distributed operations, then DDF is probably operational on the DB2 instance you plan to access through the gateway. If DDF is not operational, then you must configure it and start it as described in the appropriate DB2 documentation.

Even if DDF is operational on the DB2 instance, it might be necessary to make changes to the DDF Communication Database (CDB) tables to specify the authorization conduct of DRDA sessions from the gateway. This can be done by properly authorized users with a utility like the DB2 SPUFI utility. If you make changes to CDB tables, then you must stop and restart DDF for the changes to take effect. Refer to Chapter 14, "Security Considerations", for additional CDB tables and security information.

## DB2/400

Experience with DB2/400 and AS/400 is required to perform the following steps:

- Step 1: Configure the Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the recovery user ID

- Step 4: Determine DRDA location name for DB2 instance

Step 1: Configure the Communications Server

If you are using SNA, then configure AS/400 communications for the SNA LU6.2 connection from the host. Configure DB2/400 for SNA using the LU defined. If you are using TCP/IP, then configure the TCP/IP subsystem, configure DB2/400 to use TCP/IP, and assign a Primary and Recovery port number for the DB2 server.

Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the `CREATE DATABASE LINK` command) must have proper authority on the DRDA Server to create the package. This user ID should be used to create and own the `ORACLE2PC` (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have the following privileges on the DRDA Server:

- Use authority on the `CRTSQLPKG` command

- Change authority on the library the package will be created in

Choose a user ID now that will own the package and `ORACLE2PC` table. Ensure that this user ID is defined in DB2/400 and AS/400.

Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the `DRDA_RECOVERY_USERID` and `DRDA_RECOVERY_PASSWORD` parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password defined in these parameters. This user ID must have execute privileges on the package and must be defined to the DRDA database. If the user ID is not specified in `DRDA_RECOVER_USERID`, then the gateway attempts to connect to a user ID of `ORARECOV` when a distributed transaction is in doubt.

Determine the user ID and password you will use for recovery.

Step 4: Determine DRDA location name for DB2/400 instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the following SQL query from a STRSQL session. If SQL is unavailable on the system, then use the AS/400 command `DSPRDBDIRE` to identify your LOCAL DRDA Server.

    SELECT CURRENT SERVER FROM any_table

where `any_table` is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact the system administrator to arrange to set a location name for the instance.

## DB2/UDB (Universal Database)

Experience with DB2/UDB, configuring the communication subsystem of DB2/UDB, and the host System Administration tools is required to perform the following steps:

- Step 1: Configure the SNA Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the recovery user ID

- Step 4: Determine DRDA location name for DB2/UDB instance

Step 1: Configure the SNA Communications Server

If you are using SNA, then configure the communications server for the connection from the host. Configure DB2/UBD for SNA using the LU defined. If you are using TCP/IP, then configure the TCP/IP subsystem. Configure DB2/UDB to use TCP/IP, and assign a Primary and Recovery port number for the DB2 server.

Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the `CREATE DATABASE` `LINK` command) must have proper authority on the DRDA Server to create the package. This user ID should be used to create and own the `ORACLE2PC` (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have one or more of the following privileges on the DRDA Server:

- Package privileges of `BIND` and `EXECUTE`, for example:

      GRANT BIND    ON PACKAGE drda1.g2drsql TO USER userid
      GRANT EXECUTE ON PACKAGE drda1.g2drsql TO PUBLIC

- Schema privileges of `CREATEIN`, for example:

      GRANT CREATEIN ON SCHEMA otgdb2 TO USER userid
      GRANT CREATEIN ON SCHEMA drda1 TO USER userid

- Database authorities of `CONNECT`, `BINDADD`, and `CREATETAB`, for example:

      GRANT CONNECT   ON DATABASE TO USER userid
      GRANT BINDADD   ON DATABASE TO USER userid
      GRANT CREATETAB ON DATABASE TO USER userid

Choose a user ID now that will own the package and `ORACLE2PC` table. Ensure that this user ID is defined in both the DB2 instance ID and the operating system

Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the `DRDA_RECOVERY_USERID` and `DRDA_RECOVERY_PASSWORD` parameters. If a distributed transaction fails, then the recovery process connects to the re mote database using the user ID and password defined in these parameters. This user ID must have execute privileges on the package and must be defined to the DRDA database. If the user ID is not specified in `DRDA_RECOVER_USERID`, then the gateway attempts to connect to a user ID of `ORARECOV` when a distributed transaction is in doubt.

Determine the user ID and password you will use for recovery.

Step 4: Determine DRDA location name for DB2/UDB instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the following SQL query from a DB2 CLI session:

    SELECT CURRENT SERVER FROM any_table

where `any_table` is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact your system administrator to set a location name for the instance.

## DB2/VM

Experience with VM, AVS, and DB2/VM is required to perform the following steps:

- Step 1: Configure the Communications Server

- Step 2: Define the user ID that owns the package

- Step 3: Define the Recovery user ID

- Step 4: Determine DRDA location name for DB2/VM Instance

Step 1: Configure the Communications Server

If you are using SNA, then configure VM VTAM and AVS for the SNA connection from the host. If you are using TCP/IP, then configure the TCP/IP Service.

Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the `CREATE DATABASE LINK` command) must have proper authority on the DRDA Server to create the package. This user ID should be used to create and own the `ORACLE2PC` (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have the following privileges on the DRDA Server:

- Package privileges of `BIND`, `COPY`, and `EXECUTE`

- Collection privilege of `CREATE` `IN`

- System privileges of `BINDADD` and `BINDAGENT`

Choose a user ID now that will own the package and `ORACLE2PC` table. Ensure that this user ID is defined to DB2/VM and VM.

Step 3: Define the Recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the `DRDA_RECOVERY_USERID` and `DRDA_RECOVERY_PASSWORD` parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password defined in these parameters. This user ID must have execute privileges on the package and must be defined to the DRDA database. If the user ID is not specified in `DRDA_RECOVER_USERID`, then the gateway attempts to connect to a user ID of `ORARECOV` when a distributed transaction is in doubt.

Determine the user ID and password you will use for recovery.

Step 4: Determine DRDA location name for DB2/VM Instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue thefollowing SQL query from an ISQL session:

    SELECT CURRENT SERVER FROM any_table

where `any_table` is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact the system administrator to set a location name for the instance.